package cnsatmsmart.automation.mmi.model.data.TSafe;

/**
 * @author SIK - PTIK, BPPT
 **/

public class FlightTrack {  //based on TSafe
    /* atribut - atribut yang dimiliki oleh kelas FlightTrack */
        private double latitude;    //posisi titik pusat pesawat pada garis lintang
        private double longitude;   //posisi titik pusat pesawat pada garis bujur
        private double altitude;    //ketinggian pesawat
        private double speed;       //kelajuan pesawat horizontal
        private double heading;     //arah pesawat
        private double vspeed;      //kecepatan pesawat vertikal
        private long time;          //waktu sesaat

    /* constructor - user defined ctor, no default ctor */
        // <editor-fold defaultstate="collapsed" desc="ctor">
        /*
         * @param = atribut
         */
        public FlightTrack (double lat, double lon, double alt, double speed, double head, double vspeed, long time) {
            this.latitude = lat;
            this.longitude = lon;
            this.altitude = alt;
            this.speed = speed;
            this.heading = head;
            this.vspeed = vspeed;
            this.time = time;
        }
        public FlightTrack (FlightTrack track) {
            this.latitude = track.getLatitude();
            this.longitude = track.getLongitude();
            this.altitude = track.getAltitude();
            this.speed = track.getSpeed();
            this.heading = track.getHeading();
            this.vspeed = track.getVerticalSpeed();
            this.time = track.getTime();
        }
        // </editor-fold>

    /* getter */
        public double getLatitude () {
            /* mengembalikan nilai dari atribut latitude */
            return (this.latitude);
        }
        public double getLongitude () {
            /* mengembalikan nilai dari atribut longitude */
            return (this.longitude);
        }
        public double getAltitude () {
            /* mengembalikan nilai dari atribut altitude */
            return (this.altitude);
        }
        public double getSpeed () {
            /* mengembalikan nilai dari atribut speed */
            return (this.speed);
        }
        public double getHeading () {
            /* mengembalikan nilai dari atribut heading */
            return (this.heading);
        }
        public double getVerticalSpeed () {
            /* mengembalikan nilai dari atribut vspeed */
            return (this.vspeed);
        }
        public long getTime () {
            /* mengembalikan nilai dari atribut time */
            return (this.time);
        }

    /* method - method yang dimiliki oleh kelas FlightTrack */
        public Point4D asPoint4D () {
            return (new Point4D(this.latitude, this.longitude, this.altitude, this.time));
        }
}
